Using Terraform for backup and item cloning

I opened a case also, but how do other customers approach these?
Is a low/no-code approach ultimately doomed, at higher scale?

My organization is more of an ‘ops oriented’ shop. Does not seem feasible to maintain most/much PagerDuty content as code. However, we have two significant needs not currently available from built-in features.

  1. Backup of most content – need to snapshot of Global Ruleset and Service content daily. Also probably things like user list, extensions. If someone makes a mistake, deletes or alters something, need a way to selectively restore prior day’s content for that particular thing – or at least reference it. Biggest risk is probably rules in Rulesets and/or Services. These are being updated by people who are not developers, in the PagerDuty UI.
  2. Duplicating existing rulesets – In PD UI, it is possible to duplicate rules within a ruleset, but not an entire ruleset. Need to occasionally clone a subset of rulesets to receive alerts from CloudWatch and EventBridge for each of our AWS accounts. Mainly just for initial creation; afterwards some items in each ruleset will vary (such as Service destination for Incidents). Supporters of each account are given UI access to update their own PD ruleset content.

Noting PagerDuty’s advocacy of Terraform, I experimented a bit with it.

  • Does anyone have advice on how to accomplish these tasks above with ‘standard’ Terraform? Yet in a way we can still leverage the UI for content creation and editing? Not requiring coding everything we do.
  • Have you heard of “Terraformer?” This is a Google sponsored tool that uses Terraform provider to do its work, and can capture existing content into TF files which may be fed into Terraform for re-deployment. This most closely meets backup needs. I considered using it to simply store snapshots, automatically versioned in something like S3. Yet Terraformer seems to not capture all possible PagerDuty content such as Event Orchestrations. Maybe I can’t count on it for full snapshots going forward.